//package org.ricks.rpc;
//
//
//import io.netty.bootstrap.Bootstrap;
//import io.netty.channel.Channel;
//import io.netty.channel.ChannelInitializer;
//import io.netty.channel.nio.NioEventLoopGroup;
//import io.netty.channel.socket.SocketChannel;
//import io.netty.channel.socket.nio.NioSocketChannel;
//
//public class RpcClient {
//    private final Bootstrap bootstrap;
//    private Channel channel;
//
//    public RpcClient() {
//        bootstrap = new Bootstrap()
//                .group(new NioEventLoopGroup())
//                .channel(NioSocketChannel.class)
//                .handler(new ChannelInitializer<SocketChannel>() {
//                    @Override
//                    protected void initChannel(SocketChannel ch) {
//                        ch.pipeline()
//                                .addLast(new RpcEncoder())  // 编码请求
//                                .addLast(new RpcDecoder())   // 解码响应
//                                .addLast(new RpcClientHandler());
//                    }
//                });
//    }
//
//    // 连接服务端
//    public void connect(String host, int port) throws InterruptedException {
//        channel = bootstrap.connect(host, port).sync().channel();
//    }
//
//    // 发送请求
//    public Object sendRequest(RpcRequest request) {
//        channel.writeAndFlush(request);
//        // 同步等待响应（可优化为异步）
//        return RpcResponseHolder.awaitResponse(request.getRequestId());
//    }
//}